#include<bits/stdc++.h>
using namespace std;
const int N = 2e5+10;
const int MOD = 1e6+3;
int jc[N*2];
int jc_1[N*2];
int qpow(int x,int p){
    int res = 1;
    while(p){
        if(p & 1){
            res = 1ll*x*res%MOD;
        }
        x = 1ll*x*x%MOD;
        p >>= 1;
    }
    return res;
}
int C(int n,int m){
    if(m > n){
        return 0;
    }
    if(n < MOD){
        return 1ll*jc[n]*jc_1[m]%MOD*jc_1[n - m]%MOD;
    }
    return 1ll*C(n%MOD,m%MOD)*C(n/MOD,m/MOD)%MOD;
}
int F[N*2];
int pa[N*2];
int pb[N*2];
int main(){
    int n,a,b,c;
    cin>>n>>a>>b>>c;
    jc[0] = jc_1[0 ] =1;
    pa[0] = pb[0] = 1;
    for(int i = 1;i<=n*2;i++){
        jc[i] = 1ll*jc[i - 1]*i%MOD;
        pa[i] = 1ll*pa[i - 1]*a%MOD;
        pb[i] = 1ll*pb[i - 1]*b%MOD;
    }
    jc_1[n*2] = qpow(jc[n*2],MOD - 2);
    for(int i = n * 2- 1;i >= 1;i--){
        jc_1[i] = 1ll*jc_1[i + 1]*(i + 1)%MOD;
    }
    int ans = 0;
    int pw = 1;
    for(int i = 0;i<=n - 2;i++){
        ans = (ans + 1ll*pw*c%MOD)%MOD;
        pw = 1ll*pw*(a + b)%MOD;
    }
    for(int i = n - 1 - (n - 2);i <= n - 2;i++){
        F[n - 1] = (F[n - 1] + 1ll*C(n - 1,i)*pa[n - 1 - i]%MOD*pb[i]%MOD)%MOD;
    }
    for(int i = n;i <= (n - 2)*2;i++){
        F[i] = (1ll*F[i - 1]*(a + b)%MOD + MOD - 1ll*C(i - 1,i - 1 - (n - 2))*pa[n - 1]%MOD*pb[i - 1 - (n - 2)]%MOD + MOD - 1ll*C(i - 1,n - 2)*pa[i - 1 - (n - 2)]%MOD*pb[n - 1]%MOD)%MOD;
    }
    for(int i = n - 1;i <= (n - 2)*2;i++){
        ans = (ans + 1ll*F[i]*c%MOD)%MOD;
    }
    int ign;
    cin>>ign;
    int inv = qpow(b,MOD - 2);
    int buf = qpow(1ll*a*b%MOD,n - 1);
    for(int i = 2;i<=n;i++){
        int v;
        cin>>v;
        buf = 1ll*buf*inv%MOD;
        ans = (ans + 1ll*C(n - i + n - 2,n - 2)*buf%MOD*v%MOD)%MOD;
    }
    cin>>ign;
    inv = qpow(a,MOD - 2);
    buf = qpow(1ll*a*b%MOD,n - 1);
    for(int i = 2;i<=n;i++){
        int v;
        cin>>v;
        buf = 1ll*buf*inv%MOD;
        ans = (ans + 1ll*C(n - i + n - 2,n - 2)*buf%MOD*v%MOD)%MOD;
    }
    cout<<ans<<'\n';
}